    public final Request @@methodName@@(@@methodParams@@) {
        JsonizerHelper helper = new JsonizerHelper();
        
        JSONArray argv = new JSONArray();
        @@paramsToJson@@

        JSONObject params = new JSONObject();
        params.put("references", helper.getReferences());
        params.put("value", argv);

        JSONObject jsonRequest = new JSONObject();
        jsonRequest.put("method", new JSONString("@@methodName@@"));
        jsonRequest.put("params", params);

        String postData = jsonRequest.toString();

        RequestCallback rc = new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                try {
                    JSONObject resultObject = ProxyHelper.parseResponse(response).isObject();

                    JSONObject references = resultObject.get("references").isObject();
                    JSONValue value = resultObject.get("value");

                    JsonizerHelper helper = new JsonizerHelper();
                    helper.setReferences(references);

                    callback.onSuccess(@@resultToJava@@);
                } catch (Throwable exception) {
                    callback.onFailure(exception);
                }
            }
        };

        return ProxyHelper.sendRequest(serviceUrl, postData, rc);
    }
